31 research outputs found

    Facilitating algorithm visualization creation and adoption in education

    Get PDF
    The research question of this thesis is: How can we develop algorithm animations (AA) and AA systems further to better facilitate the creation and adoption of AA in education? The motivation for tackling this issue is that algorithm animation has not been widely used in teaching computer science. One of the main reasons for not taking full advantage of AA in teaching is the lack of time on behalf of the instructors. Furthermore, there is a shortage of ready-made, good quality algorithm visualizations. The main contributions are as follows: Effortless Creation of Algorithm Animation. We define a Taxonomy of Effortless Creation of Algorithm Animations. In addition, we introduce a new approach for teachers to create animations by allowing effortless on-the-fly creation of algorithm animations by applying visual algorithm simulation through a simple user interface. Proposed Standard for Algorithm Animation language. We define a Taxonomy of Algorithm Animation Languages to help comparing the different AA languages. The taxonomy and work by an international working group is used to define a new algorithm animation language, eXtensible Algorithm Animation Language, XAAL. Applications of XAAL in education. We provide two different processing approaches for using and producing XAAL animations with existing algorithm animation systems. In addition, we have a framework aiding in this integration as well as prototype implementations of the processes. Furthermore, we provide a novel solution to the problem of seamlessly integrating algorithm animations with hypertext. In our approach, the algorithm animation viewer is implemented purely with JavaScript and HTML. Finally, we introduce a processing model to easily produce lecture slides for a common presentation tool of XAAL animations

    Relation of Individual Time Management Practices and Time Management of Teams

    Get PDF
    Full research paper-Team configuration, work practices, and communication have a considerable impact on the outcomes of student software projects. This study observes 150 college students who first individually solve exercises and then carry out a class project in teams of three. All projects had the same requirements. We analyzed how students' behavior on individual pre-project exercises predict team project outcomes, investigated how students' time management practices affected other team members, and analyzed how students divided their work among peers. Our results indicate that teams consisting of only low-performing students were the most dysfunctional in terms of workload balance, whereas teams with both low-and high-performing students performed almost as well as teams consisting of only high-performing students. This suggests that teams should combine students of varying skill levels rather than allowing teams with only low performers or letting students to form teams without constraints. We also observed that individual students' poor time management practices impair their teammates' time management. This underlines the importance of encouraging good time management practices. Most teams reported that they divided tasks in a way that is beneficial for the acquisition of technical skills rather than collaboration and communication skills. Only a few teams assigned tasks so that students would have worked only on tasks they already knew and thus felt most comfortable to work with.Team configuration, work practices, and communication have a considerable impact on the outcomes of student software projects. This study observes 150 college students who first individually solve exercises and then carry out a class project in teams of three. All projects had the same requirements. We analyzed how students' behavior on individual pre-project exercises predict team project outcomes, investigated how students' time management practices affected other team members, and analyzed how students divided their work among peers. Our results indicate that teams consisting of only low-performing students were the most dysfunctional in terms of workload balance, whereas teams with both low-and high-performing students performed almost as well as teams consisting of only high-performing students. This suggests that teams should combine students of varying skill levels rather than allowing teams with only low performers or letting students to form teams without constraints. We also observed that individual students' poor time management practices impair their teammates' time management. This underlines the importance of encouraging good time management practices. Most teams reported that they divided tasks in a way that is beneficial for the acquisition of technical skills rather than collaboration and communication skills. Only a few teams assigned tasks so that students would have worked only on tasks they already knew and thus felt most comfortable to work with.Peer reviewe

    XAAL - Laajennettava algoritmianimaatioiden kuvauskieli

    No full text
    Algoritmien havainnollistamisella pyritään helpottamaan ihmistä ymmärtämään korkean tason esitystä ohjelmakoodista. Algoritmianimaatio on puolestaan dynaamista algoritmien havainnollistamista. Dynaaminen luonne voi vaihdella kuvasarjasta käyttäjän vuorovaikutusta vaativaan animaation. Algoritmianimaation käyttöön on kehitetty useita järjestelmiä vuosien aikana. Järjestelmät tarjoavat erilaisia keinoja animaatioiden luomiseen. Tiedonvaihto järjestelmien välillä mahdollistaisi useiden järjestelmien käytön algoritmianimaatioita tuotettaessa. Kuitenkaan tähän päivään mennessä algoritmianimaatioiden siirto järjestelmästä toiseen ei ole ollut mahdollista. Tässä työssä on tarkasteltu useita algoritmianimaatiojärjestelmiä ja niiden sisältämiä tiedostomuotoja algoritmianimaatioiden määrittelemiseen. Työssä keskitytään opetuskäyttöön kehitettyihin järjestelmiin. Tämän tarkastelun pohjalta määrittelemme taksonomian algoritmianimaatiokielten arvioimiseen. Tätä taksonomiaa käytetään hyödyksi määriteltäessä ominaisuuksia, joita vaaditaan algoritmianimaatiojärjestelmien väliseen tiedonvaihtoon soveltuvalta kieleltä. Tältä pohjalta määrittelemme laajennettavan algoritmianimaatiokielen (XAAL eXtensible Algorithm Animation Language). Lisäksi esittelemme kokeellisen toteutuksen joukosta työkaluja, joka mahdollistaa tiedonvaihdon eri algoritmianimaatiojärjestelmien välillä. Lopuksi arvioimme määritellyn kielen taksonomian ja kokeellisen toteutuksen perusteella
    corecore